<meta charset="utf-8">
1.Ajax与Http协议详解
2.xhr对象
	2.1.xhr对象发送请求整体感知
	2.2.xhr对象的常用属性与方法
3.xhr对象发送post请求
4.xhr对象的兼容性问题
5.请求超时timeout与超时监听ontimeout
6.登录post请求实例
7.发送文件进度实例（扩展）

Ajax（Asynchronous JavaScript and xml）
是指围绕【由js想服务器发起http请求】这个功能而开发的一整套完整的做法。


概述：Ajax模块在处理网络请求的时候包括一下四个步骤
	（1）创建Xhr对象
	（2）发出HTTP请求
	（3）接收服务器回传的数据
	（4）更新网页数据

补充：Ajax可以发出同步请求，也可以发出异步请求。
	但大多数情况下指的是异步请求，因为同步的Ajax请求对浏览器会产生"阻塞效应"

实例：
	var xhr = new XMLHttpRequest();//XMLHttpRequest为request请求对象
	//onreadystatechange 监听
	xhr.onreadystatechange = function(){
	//readystate 
		if(xhr.readystate === 4){
			if(xhr.status == 200){
				console.log(JSON.parse(xhr.responseText));
			}else{
				console.error(xhr.statusText);
			}
		}
	}
	xhr.onerror = function(e){
		console.error(xhr.statusTet);
	};
	xhr.open('GET','ajax.php',true);
	xhr.timeout = 5000;
	xhr.send(null);

（1）onreadystatechange属性
	描述：onreadystatechange属性指向一个回调函数
		当页面的加载状态发生改变的时候readyState属性就会跟随发生变化，
		而这时readystatechange属性所对应的回调函数就会自动被调用。
	语句：xhr.onreadystatechange = function(){};

（2）readyState属性
	描述：是一个只读属性，用一个整数和对应的常量来表示XMLHttpRequest请求当前所处	的状态一般会在onreadyState属性的值，进而执行不同状态对应的函数。
	语句：xhr.onreadystatechange = function(){
			if(xhr.readyState == n){
				//执行对应的函数
			}
		}